package org.lestr.secuel.noyau.systemeLogique.effets;

import org.jdom.Element;

import org.lestr.secuel.m3ds.objets3D.Objet3D;

public class EffetObjet3DDimension extends EffetAbstrait {

	
	// Définition de constantes
	private static final long serialVersionUID = 1L;

	
	// Déclaration des attributs
	private Objet3D objet;
	private float deltaDimensionX;
	private float deltaDimensionY;
	private float deltaDimensionZ;
	
	
	/** Constructeur */
	public EffetObjet3DDimension(){
		
		// Instanciation des attributs
		objet = null;
		deltaDimensionX = 0;
		deltaDimensionY = 0;
		deltaDimensionZ = 0;
		
		// Défini le nom
		setTypeNom("Objet 3D - Dimension");
		
	}// FIN Constructeur
	
	
	/** Applique l'effet */
	public void appliquer(){
		
		// Si un objet cible est défini
		if(objet != null){
			
			objet.setDimensionX(objet.getDimensionX() + deltaDimensionX);
			objet.setDimensionY(objet.getDimensionY() + deltaDimensionY);
			objet.setDimensionZ(objet.getDimensionZ() + deltaDimensionZ);
			
		}
		
	}// FIN appliquer
	
	
	/** Défini l'objet */
	public void defObjet(Objet3D objet){
		
		// Mémorise
		this.objet = objet;
		
	}// FIN defObjet
	
	
	/** Retourne l'objet */
	public Objet3D retObjet(){
		
		return objet;
		
	}// FIN retObjet
	
	
	// Accesseurs
	public float retDeltaX() {
		return deltaDimensionX;
	}
	public void defDeltaX(float deltaX) {
		this.deltaDimensionX = deltaX;
	}
	public float retDeltaY() {
		return deltaDimensionY;
	}
	public void defDeltaY(float deltaY) {
		this.deltaDimensionY = deltaY;
	}
	public float retDeltaZ() {
		return deltaDimensionZ;
	}
	public void defDeltaZ(float deltaZ) {
		this.deltaDimensionZ = deltaZ;
	}


	@Override
	public void charger(Element xml) {
		// TODO Auto-generated method stub
		
	}


	@Override
	public Element compiler() {
		// TODO Auto-generated method stub
		return null;
	}
	

}// FIN Classe
